jjzjj

c++ - ObjectList/Repeater 的 QML DefaultProperty

我正在使用我自己的C++小部件扩展QML,使用DefaultProperty和QQmlListProperty,例如here.这样我就可以写Parent{Child{prop:"ch1"}Child{prop:"ch2"}Child{prop:"ch3"}}子对象附加到QQmlListProperty类型的成员属性.但是当我想使用Repeater像这样:Parent{Repeater{model:["ch1","ch2","ch3"]delegate:Child{prop:modelData}}}然后运行时给我一个错误:Cannotassignobjecttolistproperty"

c++ - 将信号从 QML 连接到 Qt 5.1

我想使用qt5.1将qml信号连接到qt插槽。我不能在这个版本的qt中使用DeclarativeView。我的qml元素是一个简单的矩形,在onClicked事件上启动信号。Rectangle{id:testwidth:200height:50x:10y:10signalqmlSignal()MouseArea{hoverEnabled:falseanchors.fill:parentonClicked:{console.log("geklickt")test.qmlSignal()}}我有一个带有此header的SignalslotlistView类:classSignalslotl

c++ - 在 QML 中使用 C++ 枚举作为字符串

我想做的是在C++中使用以下枚举:classMyClass:publicQQuickItem{Q_OBJECTQ_PROPERTY(MyEnumenumValueREADgetEnumValue)public:enumMyEnum{MyEnumElement=0};Q_ENUM(MyEnum)slots:MyEnumgetEnumValue(){returnenumValue;}private:MyEnumenumValue=MyEnumElement;};在QML中是这样的:MyClass{id:myClass}Text{text:"enumValueis:"+myClass.enu

c++ - 如何将枚举类传递给 QML?

我正在学习使用Qt来学习QML,但在将enumclass传递给qml时遇到了一些麻烦。当我将信号与int参数一起使用时-一切正常,代码运行完美。但是,问题来了,如果我将信号与一些enumclass参数一起使用,我在qml信号处理程序中有未定义值。我尝试通过qmlRegisterType注册enumclass但它不起作用。我将不胜感激。这里是代码:一些HelperclassclassHelper:publicQObject{Q_OBJECTQ_ENUMS(Requester)Q_ENUMS(JANSWER)public:enumclassRequester{ReqLogin,ReqNul

c++ - 从 QAbstractListModel 中删除项目后 QML 崩溃

我在装有OS-X10.8.5的Mac上运行Qt5.1.1和QtCreator2.8.1。我有一个管理ImageData对象的QAbstractListModel。在main.cpp中注册ImageProvider后,我可以使用GridView加载图像并在QML中显示它们。接下来我在View中选择单个图像,例如,下面显示了几个带有橙色边框的选定图像:然后是C++模型函数:deleteSelected(),产生预期的结果:但是,当我试图通过捕获其中一个角来调整窗口大小时,我遇到了崩溃。堆栈跟踪显示:异常类型:EXC_CRASH(SIGABRT)并且我收到Qt错误:ASSERTfailure

c++ - QML 与 C++ 通信

我在QML与C++通信时遇到问题。我已经按照预期使示例代码正常运行的所有步骤进行了操作。在处理这个小示例几个小时后,它归结为一条错误消息,我根本无法摆脱它:./input/main.cpp:18:error:nomatchingfunctionforcallto'QObject::connect(QObject*&,constchar*,Input*,constchar*)'&input,SLOT(cppSlot(QString)));^我在relatedproblem上阅读了一些以前的帖子,仔细检查所有内容,显然一切看起来都是正确的。以下是详细信息:./Sources/main.cp

c++ - 单击按钮后动画 QML 矩形的颜色

我试图让我的开发板在单击按钮时闪烁绿色。我添加了以下颜色动画代码来帮助创建闪烁效果,以便板可以从其原始颜色变为绿色,然后再恢复为原始颜色。我在一些代码示例中看到,ColorAnimation也可以像这样使用ColorAnimationoncolor{...}。我尝试使用它来引用rectangle颜色属性,但它提示color是无效属性,这就是为什么我在下面的代码中没有它。SequentialAnimation{running:trueloops:Animation.InfiniteColorAnimation{to:"green"duration:500}ColorAnimation{t

javascript - QML 鼠标在 MouseArea 中的绝对位置

如何从鼠标区域获取鼠标的绝对位置?我需要让它显示正确位置的弹出窗口Item{Menu{id:menuMenuItem{onTriggered:{//NeedMouseabsoluteposition}}}MouseArea{id:mouseAreaanchors.fill:parentonClicked:{menu.popup()}} 最佳答案 简答映射到/从另一个项目:mapToItem,mapFromItem映射到/来自全局(来自Qt5.7):mapToGlobal,mapFromGlobalonClicked:{varposi

c++ - QML:在 QML 中使用 cpp 信号总是导致 "Cannot assign to non-existent property"

我只是想将一个cpp信号连接到一个qml槽并尝试了不同的方法,但它总是在运行时导致相同的QML错误:无法分配给不存在的属性“onProcessed”!为什么?这是我的Cpp对象:#includeclassImageProcessor:publicQObject{Q_OBJECTpublic:explicitImageProcessor(QObject*parent=0);signals:voidProcessed(constQStringstr);publicslots:voidprocessImage(constQString&image);};ImageProcessor::Ima

c++ - 如何将 C++ 代码中定义的单例对象的信号连接到 QML 组件?

我的主要目标是在*.qml文件中定义QML组件时接收来自单例对象的信号。假设我在C++代码中定义了一个单例对象,如下所示:classMySingleton:publicQObject{Q_OBJECTQ_PROPERTY(QStringvalueREADvalueWRITEsetValueNOTIFYvalueChanged)typedefQObjectBase;public:staticMySingleton*instance();constQString&value()const;voidsetValue(constQString&value);signals:voidvalueC